草庐IT

MySQL group-by 非常慢

全部标签

mysql - @Never 事务属性非常慢

我已经编写了一种基准测试,用于评估事务属性的不同组合如何影响JavaEE程序的性能。基准测试从带有“X”注释的方法调用带有“Y”注释的方法。我的基准交易涵盖了银行转账的情况:@Required@RequiresNewtheCallerMethod()->updateAccount(Accountacc)@RequiresNew->updateOwner(Companyc)@RequiresNew->addLogEntry(Transfert)因此,在callerMethod事务的上下文中,容器必须暂停调用者的事务、开始新的事务、更新帐户、提交、切换到调用者的、暂停、开始新的事务、更新公

MYSQL GROUP BY MAX 分数

我有一个名为scores的表,其中包含列我如何选择哪个id_team是每场比赛的最佳射手我正在尝试这个,但这不是正确的结果SELECTMAX(score),id_teamFROMscoresGROUPBY`id_game`LIMIT0,30 最佳答案 您可以使用自连接来找出具有最高分数的游戏a的正确团队idSELECTs.*FROMscoressJOIN(SELECTMAX(score)score,id_gameFROMscoresGROUPBYid_game)ssUSING(score,id_game)LIMIT0,30

mysql - 使用 LEFT JOIN 和 ORDER BY...LIMIT 查询速度慢,使用 Filesort

我有以下查询:SELECTfruit.date,fruit.name,fruit.reason,fruit.id,fruit.notes,food.nameFROMfruitLEFTJOINfood_fruitsASffONfruit.fruit_id=ff.fruit_idANDff.type='fruit'LEFTJOINfoodUSING(food_id)LEFTJOINfruits_sourASfsONfruits.id=fs.fruit_idWHERE(fruit.date以及您可能想要的所有索引,包括正在使用的以下索引:fruit-fruit_filter(size,sta

php - 哪个数据库用于处理非常大的结果集?

我目前正在开发一个PHP应用程序(预发布)。背景我们的MySQL数据库中有一个表,预计会变得非常大-单个用户在该表中拥有250,000行并不罕见。表格中的每一行都给出了金额和日期等信息。此外,这个特定的表格在大多数页面上被非常频繁地读取(和写入)。鉴于每一行都有一个日期,我使用GROUPBYdate来最小化MySQL给出的结果集的大小-包含在同一年的行现在可以看作只是一个总数。但是,一个典型的页面仍然会有1000-3000个结果之间的结果集。还有一些地方执行了很多SUM(),总共有数十-如果不是数百-数千行。尝试MySQL在通常的页面上,MySQL通常需要大约600-900毫秒。使用L

mysql - 当我使用 left join 和 group by 时,sum 不起作用

我有两个表:进口和订单:我分别附上了它们。我想要以下内容:1.imports表中相同product_id的总金额2.订单表中相同product_id的件的总和作为状态明智。我的查询是:SELECT`Import`.*,SUM(casewhenorders.status="sold"THENorders.pieceselse0end)astotal_sell,SUM(casewhenorders.status="Nocontact"THENorders.pieceselse0end)asno_contact,SUM(casewhenorders.status="confirmed"THE

mysql - 使用 group by 优化 MySQL 范围查询

我有一个包含每天温度的表(大表)和一个包含期间开始和结束日期的表(小表)。现在想知道每个时段的平均气温,但是查询时间比较长。可以改进吗?注意:升级到5.6.19-1~exp1ubuntu2版本后,较长的响应时间消失,可能是5.6.8之前的MySQL版本中的错误引起的(参见Quassnoi的评论)用随机数据重建日表和周期表:createtabledays(dayintnotnullauto_incrementprimarykey,temperaturefloatnotnull);insertintodaysvalues(null,rand()),(null,rand()),(null,r

mysql - Rails 4 : Error when trying to sort by using arel_table. maximum.desc

我得到了一个具有多对多关系的Order和Product模型。所以一个订单有_很多产品,每个都有不同的价格。现在我想根据订单中产品的最高价格对订单进行排序。这是我的代码:@orders=Order.group(arel_table[:id]).order(Product.arel_table[:price].maximum)它与默认的ASC顺序完美配合,但是当我将它排序为DESC顺序时,如下所示:@orders=Order.group(arel_table[:id]).order(Product.arel_table[:price].maximum.desc)我遇到这样的错误:undef

mysql - Order By 导致我的查询运行非常慢

我有一个sql查询如下select*fromincidentswhereremote_ip='192.168.1.1'andis_infringement=1orderbyreported_atdesclimit1;目前这个查询需要313.24秒才能运行。如果我删除orderby那么查询就是select*fromincidentswhereremote_ip='192.168.1.1'andis_infringement=1那么运行只需要0.117秒。reported_at列已编入索引。所以有2个问题,首先为什么这个order_by语句要花这么长时间,其次我怎样才能加快它的速度?编辑:

php - 从表中选择所有 ORDER BY 另一个表列,匹配主键

这个问题在这里已经有了答案:PHP/MySQLOrderbycolumninadifferenttable(2个答案)关闭5年前。我已经找了一段时间,但我试图完成的查询似乎很难找到任何关于如何做我想做的事情的信息或文档。我有两个表,其中一个存储我的用户帐户和基本信息。然后我有第二个表,其中包含有关用户的更多信息。这两个表都有主键(表一是id,表二是user_id),我用它来知道谁是谁,并在两个表之间匹配记录。我今天要做的是从表一中获取10条记录,按表二(room_count)DESC中的列排序。表#1的名称是“users”,表#2的名称是“user_information”。我尝试了什

MYSQL 5.7.20 - 按合并列顺序左连接 - 非常奇怪的行为

我遇到了一个非常奇怪的问题,希望您能向我解释一下。我想要做的是根据子查询中的合并列对结果集进行排序。让我解释得更好。我有两个表:CREATETABLE`user`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(255)COLLATEutf8_unicode_ciNOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci;CREATETABLE`user_favorites_user`(`source_user_id`int(11)NOTN